  // 思路总结：思路同 15 很像，因为不需要考虑去重反而感觉更加简单
  //    就是比较遍历的 i  num[i] 和 左右指针对应的数字 nums[L] nums[R] 的关系
  //    每次遍历找到当前 遍历的 三个数 i L R 是否是最接近 tartget  如果是当前最接近的 放入 min 暂存
  //    其次比较 sum 和 target 关系（依靠双指针找到最优解）
  //    将所有可能的情况都遍历一遍，此时最小 min 一定是最接近target 的，将min 返回即可
  var threeSumClosest = function(nums, target) {
        nums.sort((a,b)=> a-b);
        let min = Infinity;
       
        for(let i = 0 ; i <nums.length ; i++){
            let L = i + 1;
            let R = nums.length -1 ;
            let sum 
            while(L < R){
                sum = nums[i] + nums[L] + nums[R];
                if( Math.abs(sum - target) < Math.abs(min - target)){
                    min = sum;
                }


                if(sum <target){
                    L ++;
                }else if(sum>target){
                    R -- ;
                }else{
                    return sum
                }
            }
        }
        return min
    };